$(function() { /* Search and login */ $(".search_btn").on('click', function () { $(".login_block").removeClass('active'); $(".login_btn").removeClass('active'); $(".searchblock").toggleClass('active'); $(".search_btn").toggleClass('active'); $(".searchform").focus(200); return false; }); $(".login_btn").on('click', function () { $(".searchblock").removeClass('active'); $(".search_btn").removeClass('active'); $(".login_block").toggleClass('active'); $(".login_btn").toggleClass('active'); return false; }); /* Menu */ $('.nav_btn').on('click', function () { $("body").addClass('active_menu'); return false; }); $('.close_bg').on('click', function () { $("body").removeClass('active_menu'); return false; }); }); function comm_image_upload(id){ $('#comm_image_upload').remove(); $('body').append(""); $('#comm_image_upload').dialog({ autoOpen: true, width: 530, height: 300, buttons:{ "Закрыть":function(){ $(this).dialog('close'); } } }); return false; } $(document).on('click', '[data-afs-id]', function () { var $this = $(this), $data = $this.data(); $.ajax({ url: dle_root + 'engine/ajax/full-story.php', type: 'GET', dataType: 'html', data: { newsId: $data.afsId, // Обязательная переменная preset: ($data.afsPreset) ? $data.afsPreset : '', // Название файла с настройками (необязательно) template: ($data.afsTemplate) ? $data.afsTemplate : '', // Название файла с шаблоном (необязательно) }, }) .done(function (data) { var $html = $(data); // Данные получены, можно заняться разбором и показать их в диалоге // Ниже простейший пример вывода контента в стандартном модальном окне DLE var modalId = 'afs-' + $data.afsId + '-' + $data.afsPreset + '-' + $data.afsTemplate; modalId = modalId.replace(/\//g, "-"); var $magnificPopup = $('
'); $magnificPopup .appendTo('body') // Добавляем блок на страницу .find('#' + modalId) // Ищем интересующий нас селектор .html($html) // Вставляем в него полученный код .dialog({ // Показываем модальное окно width: 800 }); }) .fail(function () { console.log("full-story error"); }); }); $(document).ready(function(){ $('body').on('click','#nav-load a',function(){ var urlNext = $(this).attr('href'); var scrollNext = $(this).offset().top - 200; if (urlNext !== undefined) { $.ajax({ url: urlNext, beforeSend: function() { ShowLoading(''); }, success: function(data) { $('#bottom-nav').remove(); $('#dle-content').append($('#dle-content', data).html()); $('#dle-content').after($('#bottom-nav')); window.history.pushState("", "", urlNext); $('html, body').animate({scrollTop:scrollNext}, 800); HideLoading(''); }, error: function() { HideLoading(''); alert('что-то пошло не так'); } }); }; return false; }); }); ;var thisUrl = window.location.pathname; $(document) .on('click touchstart', '[data-page-num]', function () { var $this = $(this), blockId = $this.parent().data('blockId'), pageNum = $this.data('pageNum'), $block = $('#' + blockId); base_loader(blockId, 'start'); $.ajax({ url: dle_root + 'engine/ajax/controller.php', dataType: 'html', data: { mod: 'blockpro', pageNum: pageNum, blockId: blockId, thisUrl: thisUrl } }) .done(function (data) { $block.html($(data).html()); }) .fail(function () { base_loader(blockId, 'stop'); console.log("error"); }) .always(function () { base_loader(blockId, 'stop'); }); }) .on('click touchstart', '[data-favorite-id]', function (event) { event.preventDefault(); var $this = $(this), fav_id = $this.data('favoriteId'), action = $this.data('action'); ShowLoading(''); $.get(dle_root + 'engine/ajax/controller.php', { fav_id: fav_id, action: action, skin: dle_skin, mod: 'favorites', alert: 1, user_hash: dle_login_hash || '' }, function (data) { HideLoading(''); DLEalert(data, dle_info); }); }); /** * Простейшая функция для реализации эффекта загрузки блока * Добавляет/удаляет заданный класс для заданного блока * вся работа по оформлению ложится на css * * @author ПафНутиЙ * * @param id * @param method * @param className */ function base_loader(id, method, className) { var $block = $('#' + id), cname = (className) ? className : 'base-loader'; if (method === 'start') { $block.addClass(cname); } if (method === 'stop') { $block.removeClass(cname); } } /** * Выставление рейтинга * @see base_rate * @param rate * @param id */ function base_rate(rate, id) { ShowLoading(''); $.get(dle_root + 'engine/ajax/controller.php?mod=rating', { go_rate: rate, news_id: id, skin: dle_skin, user_hash: dle_login_hash || '' }, function(data){ HideLoading(''); if (data.success) { var rating = data.rating; rating = rating.replace(/</g, '<'); rating = rating.replace(/>/g, '>'); rating = rating.replace(/&/g, '&'); $('[data-rating-layer="' + id + '"]').html(rating); $('[data-vote-num-id="' + id + '"]').html(data.votenum); $('#ratig-layer-' + id).html(rating); $('#vote-num-id-' + id).html(data.votenum); $('#likes-id-' + id).html(data.likes); $('#dislikes-id-' + id).html(data.dislikes); } else if (data.error) { DLEalert(data.errorinfo, dle_info); } }, "json"); } ;(function($){$.fn.easyTooltip=function(options){var defaults={xOffset:10,yOffset:25,tooltipId:"easyTooltip",clickRemove:false,content:"",useElement:""};var options=$.extend(defaults,options);var content;this.each(function(){var title=$(this).attr("title");$(this).hover(function(e){content=(options.content!="")?options.content:title;content=(options.useElement!="")?$("#"+options.useElement).html():content;$(this).attr("title","");if(content!=""&&content!=undefined){$("body").append("
"+content+"
");$("#"+options.tooltipId).css("position","absolute").css("top",(e.pageY-options.yOffset)+"px").css("left",(e.pageX+options.xOffset)+"px").css("display","none").fadeIn("slow")}},function(){$("#"+options.tooltipId).remove();$(this).attr("title",title)});$(this).mousemove(function(e){$("#"+options.tooltipId).css("top",(e.pageY-options.yOffset)+"px").css("left",(e.pageX+options.xOffset)+"px")});if(options.clickRemove){$(this).mousedown(function(e){$("#"+options.tooltipId).remove();$(this).attr("title",title)})}})}})(jQuery); ;/*! * jQuery Cookie Plugin v1.4.1 * https://github.com/carhartl/jquery-cookie * * Copyright 2006, 2014 Klaus Hartl * Released under the MIT license */ (function (factory) { if (typeof define === 'function' && define.amd) { // AMD (Register as an anonymous module) define(['jquery'], factory); } else if (typeof exports === 'object') { // Node/CommonJS module.exports = factory(require('jquery')); } else { // Browser globals factory(jQuery); } }(function ($) { var pluses = /\+/g; function encode(s) { return config.raw ? s : encodeURIComponent(s); } function decode(s) { return config.raw ? s : decodeURIComponent(s); } function stringifyCookieValue(value) { return encode(config.json ? JSON.stringify(value) : String(value)); } function parseCookieValue(s) { if (s.indexOf('"') === 0) { // This is a quoted cookie as according to RFC2068, unescape... s = s.slice(1, -1).replace(/\\"/g, '"').replace(/\\\\/g, '\\'); } try { // Replace server-side written pluses with spaces. // If we can't decode the cookie, ignore it, it's unusable. // If we can't parse the cookie, ignore it, it's unusable. s = decodeURIComponent(s.replace(pluses, ' ')); return config.json ? JSON.parse(s) : s; } catch(e) {} } function read(s, converter) { var value = config.raw ? s : parseCookieValue(s); return $.isFunction(converter) ? converter(value) : value; } var config = $.cookie = function (key, value, options) { // Write if (arguments.length > 1 && !$.isFunction(value)) { options = $.extend({}, config.defaults, options); if (typeof options.expires === 'number') { var days = options.expires, t = options.expires = new Date(); t.setMilliseconds(t.getMilliseconds() + days * 864e+5); } return (document.cookie = [ encode(key), '=', stringifyCookieValue(value), options.expires ? '; expires=' + options.expires.toUTCString() : '', // use expires attribute, max-age is not supported by IE options.path ? '; path=' + options.path : '', options.domain ? '; domain=' + options.domain : '', options.secure ? '; secure' : '' ].join('')); } // Read var result = key ? undefined : {}, // To prevent the for loop in the first place assign an empty array // in case there are no cookies at all. Also prevents odd result when // calling $.cookie(). cookies = document.cookie ? document.cookie.split('; ') : [], i = 0, l = cookies.length; for (; i < l; i++) { var parts = cookies[i].split('='), name = decode(parts.shift()), cookie = parts.join('='); if (key === name) { // If second argument (value) is a function it's a converter... result = read(cookie, value); break; } // Prevent storing a cookie that we couldn't decode. if (!key && (cookie = read(cookie)) !== undefined) { result[name] = cookie; } } return result; }; config.defaults = {}; $.removeCookie = function (key, options) { // Must not alter options, thus extending a fresh object... $.cookie(key, '', $.extend({}, options, { expires: -1 })); return !$.cookie(key); }; })); ;/*! Lazy Load 1.9.7 - MIT license - Copyright 2010-2015 Mika Tuupola */ !function(a,b,c,d){var e=a(b);a.fn.lazyload=function(f){function g(){var b=0;i.each(function(){var c=a(this);if(!j.skip_invisible||c.is(":visible"))if(a.abovethetop(this,j)||a.leftofbegin(this,j));else if(a.belowthefold(this,j)||a.rightoffold(this,j)){if(++b>j.failure_limit)return!1}else c.trigger("appear"),b=0})}var h,i=this,j={threshold:0,failure_limit:0,event:"scroll",effect:"show",container:b,data_attribute:"original",skip_invisible:!1,appear:null,load:null,placeholder:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB/AAffA0nNPuCLAAAAAElFTkSuQmCC"};return f&&(d!==f.failurelimit&&(f.failure_limit=f.failurelimit,delete f.failurelimit),d!==f.effectspeed&&(f.effect_speed=f.effectspeed,delete f.effectspeed),a.extend(j,f)),h=j.container===d||j.container===b?e:a(j.container),0===j.event.indexOf("scroll")&&h.bind(j.event,function(){return g()}),this.each(function(){var b=this,c=a(b);b.loaded=!1,(c.attr("src")===d||c.attr("src")===!1)&&c.is("img")&&c.attr("src",j.placeholder),c.one("appear",function(){if(!this.loaded){if(j.appear){var d=i.length;j.appear.call(b,d,j)}a("").bind("load",function(){var d=c.attr("data-"+j.data_attribute);c.hide(),c.is("img")?c.attr("src",d):c.css("background-image","url('"+d+"')"),c[j.effect](j.effect_speed),b.loaded=!0;var e=a.grep(i,function(a){return!a.loaded});if(i=a(e),j.load){var f=i.length;j.load.call(b,f,j)}}).attr("src",c.attr("data-"+j.data_attribute))}}),0!==j.event.indexOf("scroll")&&c.bind(j.event,function(){b.loaded||c.trigger("appear")})}),e.bind("resize",function(){g()}),/(?:iphone|ipod|ipad).*os 5/gi.test(navigator.appVersion)&&e.bind("pageshow",function(b){b.originalEvent&&b.originalEvent.persisted&&i.each(function(){a(this).trigger("appear")})}),a(c).ready(function(){g()}),this},a.belowthefold=function(c,f){var g;return g=f.container===d||f.container===b?(b.innerHeight?b.innerHeight:e.height())+e.scrollTop():a(f.container).offset().top+a(f.container).height(),g<=a(c).offset().top-f.threshold},a.rightoffold=function(c,f){var g;return g=f.container===d||f.container===b?e.width()+e.scrollLeft():a(f.container).offset().left+a(f.container).width(),g<=a(c).offset().left-f.threshold},a.abovethetop=function(c,f){var g;return g=f.container===d||f.container===b?e.scrollTop():a(f.container).offset().top,g>=a(c).offset().top+f.threshold+a(c).height()},a.leftofbegin=function(c,f){var g;return g=f.container===d||f.container===b?e.scrollLeft():a(f.container).offset().left,g>=a(c).offset().left+f.threshold+a(c).width()},a.inviewport=function(b,c){return!(a.rightoffold(b,c)||a.leftofbegin(b,c)||a.belowthefold(b,c)||a.abovethetop(b,c))},a.extend(a.expr[":"],{"below-the-fold":function(b){return a.belowthefold(b,{threshold:0})},"above-the-top":function(b){return!a.belowthefold(b,{threshold:0})},"right-of-screen":function(b){return a.rightoffold(b,{threshold:0})},"left-of-screen":function(b){return!a.rightoffold(b,{threshold:0})},"in-viewport":function(b){return a.inviewport(b,{threshold:0})},"above-the-fold":function(b){return!a.belowthefold(b,{threshold:0})},"right-of-fold":function(b){return a.rightoffold(b,{threshold:0})},"left-of-fold":function(b){return!a.rightoffold(b,{threshold:0})}})}(jQuery,window,document); ;/** * DLE Search * * @copyright 2018 PunPun (https://punpun.name) * @version 3.4.0 * @link https://punpun.name */ var new_search_delay = false; var new_search_value = ''; $(function() { $('body').on('click', '#searchsuggestions a', function(e) { e.preventDefault(); var url = $(this).find('a').context.href; $.post(dle_root + 'engine/mod_punpun/dle_search/ajax/dle_search.php', {news: url}, function(data) {}); window.location.href = url; }); }); function dleSearch() { $('#ajax_search').attr('autocomplete', 'off'); $('#ajax_search').blur(function() { $('#searchsuggestions').fadeOut(); }); $('#ajax_search').keyup(function() { var inputString = $(this).val(); if (inputString.length == 0) { $('#searchsuggestions').fadeOut(); } else { if (new_search_value != inputString && inputString.length > 1) { clearInterval(new_search_delay); new_search_delay = setInterval(function() { dleSearchInterval(inputString); }, 200); } } }); }; var thisUrl = window.location.pathname; function dleSearchInterval (inputString) { clearInterval(new_search_delay); $('#searchsuggestions').remove(); $("body").append(""); $.post(dle_root + 'engine/mod_punpun/dle_search/ajax/dle_search.php', {query: inputString, thisUrl: thisUrl}, function(data) { if (data != 'return') { $('#searchsuggestions').html(data).fadeIn().css({'position' : 'absolute', top:0, left:0}).position({ my: 'left top', at: 'left bottom', of: '#ajax_search', collision: 'fit flip' }); } }); new_search_value = inputString; }; dleSearch(); ;/** * PostSymbol Controller */ $(function(){ var symbol = null, sort = 'default', stunned = false; var lang = localStorage.getItem('ps_lang')*1; if (lang) { switchLang(); } var dataSort = localStorage.getItem('ps_sort'); if (dataSort) { sort = dataSort; $('.ac-sort li[data-sort=' + sort + ']').addClass('current').siblings().removeClass('current'); } /** * Отправить ajax запрос */ function sendAjax() { stunned = true; $('.ac-result-list').html('').show(); $('.ac-result-empty').hide(); $('.ac-result').fadeIn(150).addClass('loading'); $.ajax({ url: dle_root + 'engine/mods/catalog/list', type: 'POST', dataType: 'html', data: {symbol: symbol, sort: sort}, }) .done(function(d) { if (d) { $('.ac-result-list').html(d); } else { $('.ac-result-list').hide(); $('.ac-result-empty').fadeIn(200); } }) .fail(function(d) { hideResult(); DLEalert(d.responseText, 'Ошибка'); }) .always(function() { $('.ac-result').removeClass('loading'); stunned = false; }); } function settingsAjax(uri, data, callback) { ShowLoading(); $.ajax({ url: dle_root + 'engine/mods/catalog/settings/' + uri, type: 'POST', dataType: 'html', data: data, }) .done(function(d) { callback(d); }) .fail(function(d) { DLEalert(d.responseText, 'Ошибка'); }) .always(function() { HideLoading(); }); } /** * Скрыть блок с новостями */ function hideResult() { $('.ac-result').fadeOut(200); $('.ac-catalog li a').removeClass('active'); return!1; } /** * Переключить раскладку */ function switchLang() { localStorage.setItem('ps_lang', lang); $('.ac-catalog-lang').find('span').toggleClass('current'); $('.ac-catalog-rus, .ac-catalog-eng').toggleClass('current'); } function rebuildStart(page) { $.ajax({ url: dle_root + 'engine/mods/catalog/rebuild/start', type: 'POST', dataType: 'html', }) .done(function(d) { var max = $('.ac-rebuild-progress').data('pages'); if (page == max) { $('.ac-rebuild-area').fadeOut(400, function(){$(this).remove()}); DLEalert('Символьный каталог успешно перестроен', dle_info); return false; } page++; var p = Math.round(100 * page / max); p += '%'; $('.ac-rebuild-bar').css({ width: p }); $('.ac-rebuild-progress-info').html(p); rebuildStart(page); }) .fail(function(d) { DLEalert(d.responseText, 'Ошибка'); }) .always(function() { HideLoading(); }); } function rebuildBase() { ShowLoading(); $.ajax({ url: dle_root + 'engine/mods/catalog/rebuild/', type: 'POST', dataType: 'html', }) .done(function(d) { $('body').append(d); rebuildStart(0); }) .fail(function(d) { DLEalert(d.responseText, 'Ошибка'); }) .always(function() { HideLoading(); }); } $(document) .on('click', '.ac-catalog-lang', function(e){ //Переключение раскладки e.preventDefault(); lang = 1 - lang; switchLang(); }).on('click', '.ac-catalog li a', function(e){ //Выбор буквы e.preventDefault(); if (stunned) return!1; if ($(this).hasClass('active')) { return hideResult(); } if (!$(this).data('symbol')) { return!1; } $('.ac-catalog li a').removeClass('active'); $(this).addClass('active'); symbol = $(this).data('symbol'); $('.ac-result-link').attr('href', $(this).attr('href')); sendAjax(); }).on('click', '.ac-sort li:not(.current)', function(e){ //Сортировка e.preventDefault(); if (stunned) return!1; $(this).addClass('current').siblings().removeClass('current'); sort = $(this).data('sort'); localStorage.setItem('ps_sort', sort); sendAjax(); }).on('click', '.ac-settings-link', function(e){ //Сортировка e.preventDefault(); hideResult(); $('#ac-settings').remove(); $('body').append('